跳到主要内容

75 颜色分类

https://leetcode.cn/leetbook/read/top-interview-questions-medium/xvg25c/

cost: 28m29s

class Solution {
public:
void sortColors(vector<int>& nums) {
for (int i = 0, j = nums.size() - 1, k = nums.size() - 1;
i <= k && k <= j;) {
if (nums[i] == 0) {
i++;
continue;
}
if (nums[i] == 2) {
if (i != k) {
std::swap(nums[k], nums[j]);
}
std::swap(nums[i], nums[j]);
j--;
k--;
continue;
}
if (nums[i] == 1) {
std::swap(nums[i], nums[k]);
k--;
}
}
}
};